////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                                                            //
//                                                         WNProject                                                          //
//                                                                                                                            //
//            This file is distributed under the BSD 2-Clause open source license. See License.txt for details.               //
//                                                                                                                            //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef __WN_TIME_INL__
#define __WN_TIME_INL__

#include "WNCore/inc/WNBase.h"

#ifdef _WN_WINDOWS
    #include <windows.h>
#elif defined _WN_LINUX
    #include <sys/time.h>
#endif

__WN_INLINE WN_TIME_T WNGetTime() {
    #ifdef _WN_WINDOWS
        return(GetTickCount());
    #elif defined _WN_LINUX
        struct timeval time = {0};

        gettimeofday(&time, WN_NULL);

        return((time.tv_sec * 1000 + time.tv_usec / 1000.0) + 0.5);
    #endif
}

#endif // __WN_TIME_INL__